package com.pkk.blny.web.controller.api;

import com.pkk.blny.model.domain.Menu;
import com.pkk.blny.model.dto.JsonResult;
import com.pkk.blny.model.enums.ResponseStatusEnum;
import com.pkk.blny.service.MenuService;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * <pre>
 *     菜单API
 * </pre>
 *
 * @author : RYAN0UP
 * @date : 2018/6/6
 */
@CrossOrigin
@RestController
@RequestMapping(value = "/api/menus")
public class ApiMenuController {

  @Autowired
  private MenuService menuService;

  /**
   * 获取所有菜单
   *
   * <p>
   * result json:
   * <pre>
   * {
   *     "code": 200,
   *     "msg": "OK",
   *     "result": [
   *         {
   *             "menuId": ,
   *             "menuName": "",
   *             "menuUrl": "",
   *             "menuSort": ,
   *             "menuIcon": "",
   *             "menuTarget":
   *         }
   *     ]
   * }
   *     </pre>
   * </p>
   *
   * @return JsonResult
   */
  @GetMapping
  public JsonResult menus() {
    List<Menu> menus = menuService.findAll();
    if (null != menus && menus.size() > 0) {
      return new JsonResult(ResponseStatusEnum.SUCCESS.getCode(), ResponseStatusEnum.SUCCESS.getMsg(), menus);
    } else {
      return new JsonResult(ResponseStatusEnum.EMPTY.getCode(), ResponseStatusEnum.EMPTY.getMsg());
    }
  }
}
